package 
{
	
	import flash.display.Sprite;
	import flash.events.Event;
	import screens.*;
	
	
	import starling.core.Starling;
	/**
	 * ...
	 * @author will
	 */
	[SWF(width="1280", height="800", frameRate="40", backgroundColor="#000000")]
	
	public class Main extends Sprite 
	{

		private var _starling:Starling;

		
		public function Main():void 
		{
			 /* activation du mode MultiTouch -----> toujours le faire AVANT La création moteur !!! */
			Starling.multitouchEnabled = true;

			addEventListener(Event.ADDED_TO_STAGE, added) /* On écoute si notre Objet est ajouté à la scène dans ce cas on appelle la fonction Added  */

		}
		
		protected function added(event:Event):void
		{


			removeEventListener(Event.ADDED_TO_STAGE, added);

			
			//Notre point d'entrer vers le rêve 
			//puis on crée le moteur STARLING qui permet le rendu sur la Carte Graphique
			_starling = new Starling(Engine, this.stage);
				
			/* 
			À sa création le moteur demande deux parametres obligatoires, les suivants ont des valeurs par defaut auxquels on ne touche pas
//			-	param 1 --> Classe Principale du moteur STARLING. À crée. Engine dans notre cas CF (AsDoc au debut de la classe Engine)
			-	param 2 --> reference au stage. donc stage dans notre cas. cette référence peux être different dans des cas plus complexes lorsqu'on melange Starling avec Away3D par exemple
			*/
				
			_starling.simulateMultitouch = true; /* Permet de simulé 2 touches grâce à CMD(mac) ou CTRL(pc) + (SHIFT en option) */
			_starling.showStats = true; /* Affiche les stats (fps, memoire, drawcall) */ 

			//on laisse cette ligne en com peut servir quant ça devient lourd :p
			//_starling.showStats = true; /* Affiche les stats (fps, memoire, drawcall) */ 
			
			
			_starling.antiAliasing = 1; /* paramètre d'anti aliasing du moteur de 0 a 16*/
			
			_starling.stage3D.addEventListener(Event.CONTEXT3D_CREATE,startStarling);	 /* On écoute si notre Moteur est initialisé dans ce cas on appelle la fonction StartStarling */
		}
		
		protected function startStarling(event:Event):void
		{
			/*	Une fois le Moteur initialisé on retire l'écouteur et on demarre le moteur STARLING */
			_starling.stage3D.removeEventListener(Event.CONTEXT3D_CREATE,startStarling);
			
			_starling.start();
			
		}
		
	}
	
}
